﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Kid verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
Public Class KOKid
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "KID"
        Armee = Armeen.BM.ToString
        Musik = "Kid"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 2
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                OffensivStaerke = New FeuerkrafttabelleFernkampf100
                Reichweite = 1
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStaerke = New FeuerkrafttabelleFernkampf120
                Reichweite = 1
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStaerke = New FeuerkrafttabelleFernkampf120
                Reichweite = 1
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                OffensivStaerke = New FeuerkrafttabelleCustomFernkampf(120, 100)
                Reichweite = 1
            Case Else
                OffensivStaerke = New FeuerkrafttabelleFernkampf120
                Reichweite = 1
        End Select
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Function GetBaublockade(ByVal Spieler As Integer) As Baublockade
        Return New Baublockade(Baublockade.BauBlockade.Indirect, Spieler)
    End Function

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStaerke = New FeuerkrafttabelleFernkampf150
                Reichweite = 2
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStaerke = New FeuerkrafttabelleFernkampf160
                Reichweite = 2
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                OffensivStaerke = New FeuerkrafttabelleCustomFernkampf(130, 100)
                Reichweite = 2
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                OffensivStaerke = New FeuerkrafttabelleFernkampf140
                Reichweite = 2
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
        End Select

    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                OffensivStaerke = New FeuerkrafttabelleFernkampf160
                Reichweite = 2
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStaerke = New FeuerkrafttabelleFernkampf150
                Reichweite = 3
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStaerke = New FeuerkrafttabelleFernkampf160
                Reichweite = 3
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                OffensivStaerke = New FeuerkrafttabelleCustomFernkampf(150, 100)
                Reichweite = 3
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("KIDGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                OffensivStaerke = New FeuerkrafttabelleFernkampf160
                Reichweite = 3
                If OhneFunktion = False Then
                    AnimationEigeneFernkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
        End Select

    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungKid
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Kid"
        Fein = "Katzen"
        Nein = "Ratten"
        Beschreibung = New String() {"Ein laessiger KO und ein grandioser Schuetze. Er arbeitet gut mit Olaf zusammen."}
        Stil = New String() {"Seine Fernkampfeinheiten", "haben eine erhoehte Reichweite", "und sind staerker, aber seine", "Nahkmapfeinheiten sind schwach."}
        Gabebeschreibung = New String() {"Die Reichweite seiner", "Fernkampfwaffen steigt um 1 und", "sie sind noch staerker."}
        SpezialgabeBeschreibung = New String() {"Die Reichweite seiner", "Fernkampfwaffen steigt um 2 und", "sie sind viel staerker."}
        GabeKosten = 3
        Spezialgabekosten = 3
        Gaben = New String() {"Scharfschuss", "Kugelhagel"}
        Synergie = New Decimal() {1, 2, 0.5#, -1, -1}
        KONamen = New String() {"OLAF", "MAX", "COLIN", "VON BOLT", "ERIC"}
        Doppelgabenamen = New String() {"Schneemarsch", "Kraftakt", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Wenn du in meinem Schussfeld bist, gibt es kein entkommen!" _
                                  , "Es ist Zeit fuer ein Schuetzenfest." _
                                  , "Wer war der Narr, der mir als Zielscheibe dienen wollte?" _
                                  , "Du kannst davon laufen, aber nicht entkommen." _
                                  , "Hm! Da habe ich keine Wahl. Holt die schweren Geschuetze!" _
                                  , "Endlich. Ich habe gehofft, dass es so kommt."}
        Siegsaetze = New String() {"Das ist das Ende der Show." _
                                , "Zeit fuer eine Pause." _
                                , "Relax! Das war kein Ding."}
        Tauschsaetze = New String() {"Immer mit der Ruhe bin fast da." _
                                    , "Bleibt weit weg oder ich treffe euch."} 'Das stimmt sogar.
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("KID", "MAX", "Meine Fernkampfwaffen und deine Nahkampfwaffen...", "Wir sind ein Superteam.") _
                                              , New DoppelGabesatz("KID", "MAX", "Das wird schwieriger, als Schnecken mit Eimer zu sammeln.", "... Einem Eimer?") _
                                              , New DoppelGabesatz("KID", "OLAF", "Hey wenn du kaempfen willst. Gehe ich", "Kid du kleiner...!") _
                                              , New DoppelGabesatz("KID", "OLAF", "Wenn es Regen gibt, dann solltest du kaempfen!", "Regen oder Schnee mich haet nichts auf.")}
        Niederlagesaetze = New String() {"Zum Kuckuck nochmal.", _
                                     "Wie ich vermutet habe. Das ist kein Sonntagsspaziergang."}
    End Sub
End Class
